Delivering On Standards, Balancing Portability and Performance
نویسنده
چکیده
As high-performance embedded computing systems become more commonplace in a variety of applications, the need for supporting standards becomes more critical. Specifications developed by concensus, such as Message Passing Interface (MPI) and Vector, Signal, and Image Processing (VSIP), and "de facto" standards such as MATLAB , provide a means for developers to create real-time applications across multiple platform technologies. The balance between portability and performance presents some significant challenges, including balancing the application of tools tuned to specific platforms with the use of standard, but possibly slower, code and tools. 1. Standards in Software Development Wherever products become commodities, standards are involved. Just as a few programming languages − standardized across platforms − have become the foundation for most business applications, the commoditization of embedded computing systems requires standards to provide application portability. Embedded hardware already adheres to many standards, from VME at the system level, down to DIN standards for connectors and VHDL for designing new hardware. These standards and many others speed the design and development of hardware products, especially in complex parallel processing systems. Yet the speed and cost of deploying software for new generations often limits how quickly developers can take advantage of new generations, and thereby rapidly insert new technology into systems such as medical imaging and government signal processing products. Likewise, the time needed to develop and deploy an application in the first place virtually guarantees that its original platform will be many generations obsolete by the time the code is finished. Standards, including common toolkits and common (or at least, compatible) programming methodologies, can accelerate the software development and porting process for embedded systems, just as it has speeded those tasks for desktop and mainframe applications. Newly emerging tools and standards provide the foundation for breakthroughs in application development, while simultaneously raising a new set of issues and considerations for the developer to balance. 2. Emerging Tools for Software Portability Both concensus-driven and de-facto standards are emerging in the software development realm, bringing with them the potential to increase portability, maintainability, and rapid deployment of new technology for high-performance applications. Key areas include interprocessor communications in real-time multicomputers, and common libraries for developing software and optimizing performance. 2.1 Message Passing Interface Coordinated computation of multiple tasks in multiprocessor computing requires a protocol for scalable interprocessor communications. Message Passing Interface (MPI) has emerged as a defacto standard API for this task. MPI Software Technology, Inc. (MSTI) offers a commercial implementation of MPI designed specifically for Mercury's RACE computing environment. MPI is in use worldwide on a variety of platforms, with broad acceptance and a fast growing application base. Supported platforms range from high-performance computing (HPC) environments to clusters of desktop workstations. It is easy to use: a full application can be developed using only six functions, while more complex applications can exploit a number of advanced features of the specification. Many applications already exist in MPI, and the specification has worldwide utilization and acceptance. MPI/Pro for RACE supports Mercury's MC/OS development and runtime environment. MPI-based applications can be moved between platforms that support MPI. This provides a transportable message-passing layer for portable software applications.
منابع مشابه
Towards an Adaptive Skeleton Framework for Performance Portability
The proliferation of widely available, but very different, parallel architectures makes the ability to deliver good parallel performance on a range of architectures, or performance portability, highly desirable. Irregularly-parallel problems, where the number and size of tasks is unpredictable, are particularly challenging and require dynamic coordination. The paper outlines a novel approach to...
متن کاملPerformance Measurement and Workflow Impact of Securing Medical Data Using HIPAA Compliant Encryption in a .NET Environment
The Health Information Portability and Accountability Act of 1996 called for new standards to be set in the health industry. These standards included new privacy and security laws along with more administrative reform. In the long run, these new standards are supposed to save the healthcare industry time and money. One of the security standards calls for encryption of all digital data in both t...
متن کاملData Conversion for Process/Thread Migration and Checkpointing
Process/thread migration and checkpointing schemes support load balancing, load sharing and fault tolerance to improve application performance and system resource usage on workstation clusters. To enable these schemes to work in heterogeneous environments, we have developed an application-level migration and checkpointing package, MigThread, to abstract computation states at the language level ...
متن کاملPortable Parallel Programming for the Dynamic Load Balancing of Unstructured Grid Applications
The ability to dynamically adapt an unstructured grid (or mesh) is a powerful tool for solving computational problems with evolving physical features; however, an efficient parallel implementation is rather difficult, particularly from the viewpoint of portability on various multiprocessor platforms. We address this problem by developing PLUM, an automatic and architecture-independent framework...
متن کاملA Survey on Multi-Document Summarization
Multi-document summarization aims at delivering the majority of information content from multiple documents using much less lengthy texts, usually a short paragraph of several hundred words. This paper surveys several different approaches to multi-document summarization by first building a unified high level view of the multi-document summarization problem, and then comparing different approach...
متن کامل